#include<stdio.h>
/*
 * 文件拷贝实例(gets,puts)
 */

int main(int argc, char* argv[])
{
	if(argc < 3){
		printf("Usage:./a.out 源文件名 目标文件名\n");
		return -1;
	}

	FILE * fSource = fopen(argv[1],"r");
	if(fSource == NULL){
		printf("文件%s打开失败\n",argv[1]);
		return -2;
	}

	FILE * fDest = fopen(argv[2],"w");
	if(fDest == NULL){
		printf("文件%s打开失败\n",argv[2]);
		return -3;
	}
	
	char buffer[100];           //定义一个缓冲区
	while(!feof(fSource)){         
		//fgets读取结束的三种情况：1.遇到换行符;2.读到文件末尾;3.读取出错.
		//fgets读取字符到缓冲区时，如果第2个参数为n，则最多只能让它读n-1个字符，因为要留一个位置给'\n'。
		fgets(buffer,99,fSource);     
		fputs(buffer,fDest);
	}

	fclose(fSource);
	fclose(fDest);

	return 0;
}
